.block-align(@t:center;@v:middle){
  text-align:@t;
  vertical-align:@v;;
}
.align(@Prefix:~'-',@Suffix:~''){
  .align@{Prefix}lt@{Suffix}{.block-align(@t:left;@v:top);}
  .align@{Prefix}ct@{Suffix}{.block-align(@t:center;@v:top);}
  .align@{Prefix}rt@{Suffix}{.block-align(@t:right;@v:top);}
  .align@{Prefix}lm@{Suffix}{.block-align(@t:left;@v:middle);}
  .align@{Prefix}cm@{Suffix}{.block-align(@t:center;@v:middle);}
  .align@{Prefix}rm@{Suffix}{.block-align(@t:right;@v:middle);}
  .align@{Prefix}lb@{Suffix}{.block-align(@t:left;@v:bottom);}
  .align@{Prefix}cb@{Suffix}{.block-align(@t:center;@v:bottom);}
  .align@{Prefix}rb@{Suffix}{.block-align(@t:right;@v:bottom);}
}//再次封装常用的部分，供test和生产调用

// 主轴对齐，类似text-align
// justify-content: flex-start | flex-end | center | space-between | space-around;
// 主轴对齐方式：左对齐（默认） | 右对齐 | 居中对齐 | 两端对齐 | 平均分布
.mainaxis(s){
  -webkit-box-pack:start;//09版
  .c3p(justify-content,flex-start);//12版
}
.mainaxis(c){
  -webkit-box-pack:center;//09版
  .c3p(justify-content,center);//12版
}
.mainaxis(e){
  -webkit-box-pack:end;//09版
  .c3p(justify-content,end);//12版
}
.mainaxis(sb){
  -webkit-box-pack:justify;//09版
  .c3p(justify-content,space-between);//12版
}
.mainaxis(sa){
  -webkit-box-pack:space-around;//09版
  .c3p(justify-content,space-around);//12版
}

// 交叉轴对齐，类似vertical-align;但是比vertical-align各实用
// align-items: flex-start | flex-end | center | baseline | stretch;
// 交叉轴对齐方式：顶部对齐（默认） | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐
.crossaxis(s){
  align-items:start;-webkit-align-items:start;//09版
  box-align:flex-start;-moz-box-align:flex-start;-webkit-box-align:flex-start;//12版
}
.crossaxis(c){
  align-items:center;-webkit-align-items:center;//09版
  box-align:center;-moz-box-align:center;-webkit-box-align:center;//12版
}
.crossaxis(e){
  align-items:end;-webkit-align-items:end;//09版
  box-align:end;-moz-box-align:end;-webkit-box-align:end;//12版
}
.crossaxis(st){
  align-items:stretch;-webkit-align-items:stretch;//09版
  box-align:stretch;-moz-box-align:stretch;-webkit-box-align:stretch;//12版
}
.crossaxis(ba){
  align-items:baseline;-webkit-align-items:baseline;//09版
  box-align:baseline;-moz-box-align:baseline;-webkit-box-align:baseline;//12版
}

// align-content: flex-start | flex-end | center | space-between | space-around | stretch;
// 多主轴对齐：顶部对齐（默认） | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 上下平均分布
.plural-mainaxis(s){align-content:flex-start;}
.plural-mainaxis(e){align-content:flex-end;}
.plural-mainaxis(c){align-content:center;}
.plural-mainaxis(sb){align-content:space-between;}
.plural-mainaxis(sa){align-content:space-around;}
.plural-mainaxis(st){align-content:stretch;}
// 先写备用，用途不明


.flex-direction(h){
  -webkit-box-orient: horizontal;//09版
  .c3p(flex-direction,row);//12版
}
.flex-direction(v){
  -webkit-box-orient: vertical;//09版
  .c3p(flex-direction,column);//12版
}
// flex反向，慎用！// 勿删
.flex-direction(hw){.c3p(flex-direction,row-reverse);}
.flex-direction(vw){.c3p(flex-direction,column-reverse);}
// 换行，慎用！
.flex-wrap(w){-webkit-box-lines:multiple;.c3p(flex-wrap,wrap);}

.flex-align(@Prefix:~'-p-',@Suffix:~'-s'){
  .flex@{Prefix}lt@{Suffix}{.flex-direction(h);.mainaxis(s);.crossaxis(s);}
  .flex@{Prefix}ct@{Suffix}{.flex-direction(h);.mainaxis(c);.crossaxis(s);}
  .flex@{Prefix}rt@{Suffix}{.flex-direction(h);.mainaxis(e);.crossaxis(s);}
  .flex@{Prefix}lm@{Suffix}{.flex-direction(h);.mainaxis(s);.crossaxis(c);}
  .flex@{Prefix}cm@{Suffix}{.flex-direction(h);.mainaxis(c);.crossaxis(c);}
  .flex@{Prefix}rm@{Suffix}{.flex-direction(h);.mainaxis(e);.crossaxis(c);}
  .flex@{Prefix}lb@{Suffix}{.flex-direction(h);.mainaxis(s);.crossaxis(e);}
  .flex@{Prefix}cb@{Suffix}{.flex-direction(h);.mainaxis(c);.crossaxis(e);}
  .flex@{Prefix}rb@{Suffix}{.flex-direction(h);.mainaxis(e);.crossaxis(e);}
  .flex@{Prefix}sbc@{Suffix}{.flex-direction(h);.mainaxis(sb);.crossaxis(c);}
  .flex@{Prefix}sac@{Suffix}{.flex-direction(h);.mainaxis(sa);.crossaxis(c);}
};//再次封装常用的部分，供test和生产调用

.test(align){
  .align(@Prefix:~'-p-',@Suffix:~'-s-test');
  .flex-align(@Prefix:~'-p-',@Suffix:~'-s-test');
}
// .test(align);

// 当前模块提供test不提供def